package org.soc.timesheet.server.domain.service;
import java.util.List;

import org.soc.timesheet.custom.domain.filters.UserFilter;
import org.soc.timesheet.domain.Users;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.roo.addon.layers.service.RooService;

@RooService(domainTypes = { org.soc.timesheet.domain.Users.class })
public interface UsersService {

	public abstract long countAllUserses();


	public abstract void deleteUsers(Users users);


	public abstract Users findUsers(Integer id);


	public abstract List<Users> findAllUserses();


	public abstract List<Users> findUsersEntries(int firstResult, int maxResults);


	public abstract Users saveUsers(Users users);


	public abstract Users updateUsers(Users users);


	public abstract Page<Users> findAll(PageRequest pageRequest);


	public abstract Page<Users> findByFilters(UserFilter filter,
			PageRequest pageRequest);


	public abstract Users findByLogin(String username);

}
